home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
- #if __SC__ || __RCC__
- #pragma once
- #endif
-
- #ifndef __LOCALE_H
- #define __LOCALE_H 1
-
- #if __cplusplus
- extern "C" {
- #endif
-
- #ifndef __STDC__
- #if !defined(_WCHAR_T_DEFINED)
- typedef unsigned short wchar_t;
- #define _WCHAR_T_DEFINED 1
- #endif
- #endif
-
- /* Define _CRTAPI1 (for compatibility with the NT SDK) */
- #ifndef _CRTAPI1
- #define _CRTAPI1 __cdecl
- #endif
-
- /* Define _CRTAPI2 (for compatibility with the NT SDK) */
- #ifndef _CRTAPI2
- #define _CRTAPI2 __cdecl
- #endif
-
- /* Define CRTIMP */
- #ifndef _CRTIMP
- #if defined(_WIN32) && defined(_DLL)
- #define _CRTIMP __declspec(dllimport)
- #else
- #define _CRTIMP
- #endif
- #endif
-
- #if __OS2__ && __INTSIZE == 4
- #define __CLIB __stdcall
- #else
- #define __CLIB __cdecl
- #endif
-
- #ifndef __NT__
- enum _LOCALE
- { _LOCALE_C,
- _LOCALE_USA,
- _LOCALE_ITALY,
- _LOCALE_NETHERLANDS,
- _LOCALE_NORWAY,
- _LOCALE_SWITZERLAND,
- _LOCALE_UK,
- _LOCALE_JAPAN,
- _LOCALE_KOREA,
- _LOCALE_CHINA,
- _LOCALE_TAIWAN,
- _LOCALE_MAX
- };
- #define _LOCALE_NATIVE _LOCALE_USA
- #endif
-
- #pragma pack(1)
- struct lconv
- {
- char *decimal_point;
- char *thousands_sep;
- char *grouping;
- char *int_curr_symbol;
- char *currency_symbol;
- char *mon_decimal_point;
- char *mon_thousands_sep;
- char *mon_grouping;
- char *positive_sign;
- char *negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
- #ifndef __NT__
- char lc[6];
- #endif
- char int_p_cs_precedes;
- char int_n_cs_precedes;
- char int_p_sep_by_space;
- char int_n_sep_by_space;
- char int_p_sign_posn;
- char int_n_sign_posn;
- };
-
- #pragma pack()
-
- #define LC_ALL 0
- #define LC_COLLATE 1
- #define LC_CTYPE 2
- #define LC_MONETARY 3
- #define LC_NUMERIC 4
- #define LC_TIME 5
-
- #define LC_MIN LC_ALL
- #define LC_MAX LC_TIME
-
- #ifndef NULL
- #ifdef __cplusplus
- #define NULL 0
- #else
- #define NULL ((void *)0)
- #endif
- #endif
-
- char * __CLIB setlocale(int category, const char *locale);
- struct lconv * __CLIB localeconv(void);
-
- #ifdef _WIN32
- #ifndef __STDC__
- wchar_t * __CLIB _wsetlocale(int, const wchar_t *);
- #endif
- #endif
-
- #if _CHAR_UNSIGNED
- /*
- The standard states localeconv should return valuse of CHAR_MAX,
- well with -J, CHAR_MAX is 255 and not 127. To deal with this, we
- need this extern to cause RTL startup code to fix up the lconv
- structure returned from localeconv
- */
- int __charmax;
- #endif
-
- #if __cplusplus
- }
- #endif
-
- #endif
-